﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace League.ViewModel.Ribbon
{
    public static class RibbonModel
    {
        #region Data

        private const string HelpFooterTitle = "Press F1 for more help.";
        private static object _lockObject = new object();
        private static Dictionary<string, ControlData> _dataCollection = new Dictionary<string, ControlData>();

        #endregion Data

        #region ApplicationMenu

        public static ControlData Preferences
        {
            get
            {
                lock (_lockObject)
                {
                    string Str = "Preferences";

                    if (!_dataCollection.ContainsKey(Str))
                    {
                        ApplicationMenuItemData Data = new ApplicationMenuItemData()
                        {
                            SmallImage = new Uri("Images/Icons/32/tools.png", UriKind.Relative),
                            LargeImage = new Uri("Images/Icons/32/tools.png", UriKind.Relative),
                            KeyTip = "X",
                            Label = Str,
                        };
                        _dataCollection[Str] = Data;
                    }
                    return _dataCollection[Str];
                }
            }
        }

        public static ControlData About
        {
            get
            {
                lock (_lockObject)
                {
                    string Str = "About";

                    if (!_dataCollection.ContainsKey(Str))
                    {
                        ApplicationMenuItemData Data = new ApplicationMenuItemData()
                        {
                            SmallImage = new Uri("Images/Icons/32/info.png", UriKind.Relative),
                            LargeImage = new Uri("Images/Icons/32/info.png", UriKind.Relative),
                            KeyTip = "A",
                            Label = Str,
                        };
                        _dataCollection[Str] = Data;
                    }
                    return _dataCollection[Str];
                }
            }
        }

        public static ControlData Exit
        {
            get
            {
                lock (_lockObject)
                {
                    string Str = "Exit";

                    if (!_dataCollection.ContainsKey(Str))
                    {
                        ApplicationMenuItemData Data = new ApplicationMenuItemData()
                        {
                            SmallImage = new Uri("Images/Icons/32/shut_down.png", UriKind.Relative),
                            LargeImage = new Uri("Images/Icons/32/shut_down.png", UriKind.Relative),
                            KeyTip = "X",
                            Label = Str,
                        };
                        _dataCollection[Str] = Data;
                    }
                    return _dataCollection[Str];
                }
            }
        }


        #endregion ApplicationMenu


        #region Home Tab

        #region Sports Group

        public static ControlData Sports
            {
                get
                {
                    lock (_lockObject)
                    {
                        string Str = "Sports";

                        if (!_dataCollection.ContainsKey(Str))
                        {
                            GroupData Data = new GroupData(Str)
                            {
                                KeyTip = "SP",
                            };
                            _dataCollection[Str] = Data;
                        }
                        return _dataCollection[Str];
                    }
                }
            }

            // TODO complete
            public static ControlData SelectSport
            {
                get
                {
                    lock (_lockObject)
                    {
                        string Str = "Select Sport";

                        if (!_dataCollection.ContainsKey(Str))
                        {
                            string TooTipTitle = "Select Sport";
                            string ToolTipDescription = "Select a sport to edit its teams, players, championships.";

                            ComboBoxData comboButtonData = new ComboBoxData()
                            {
                                Label = Str,
                                SmallImage = new Uri("Images/Icons/16/games.png", UriKind.Relative),
                                LargeImage = new Uri("Images/Icons/32/games.png", UriKind.Relative),
                                ToolTipTitle = TooTipTitle,
                                ToolTipDescription = ToolTipDescription,
                                KeyTip = "",
                                Items = new List<String>()
                            };

                            _dataCollection[Str] = comboButtonData;
                        }

                        return _dataCollection[Str];
                    }
                }
            }


            #endregion Sports Group

        #endregion Home Tab

        #region Players Tab
            #region view group
                public static ControlData ViewGroupP
                {
                    get
                    {
                        lock (_lockObject)
                        {
                            string Str = "View";

                            if (!_dataCollection.ContainsKey(Str))
                            {
                                GroupData Data = new GroupData(Str)
                                {
                                    SmallImage = new Uri("Images/Icons/16/users.png", UriKind.Relative),
                                    LargeImage = new Uri("Images/Icons/32/users.png", UriKind.Relative),
                                    KeyTip = "RU",
                                };
                                _dataCollection[Str] = Data;
                            }
                            return _dataCollection[Str];
                        }
                    }
                }

                public static ControlData ListPlayers
                {
                    get
                    {
                        lock (_lockObject)
                        {
                            string Str = "List Players";

                            if (!_dataCollection.ContainsKey(Str))
                            {
                                string TooTipTitle = "Show the players (Ctrl+L)";
                                string ToolTipDescription = "Shows the players, players can be filtered.";

                                ButtonData menuItemData = new ButtonData()
                                {
                                    Label = Str,
                                    SmallImage = new Uri("Images/Icons/16/notebook.png", UriKind.Relative),
                                    LargeImage = new Uri("Images/Icons/32/notebook.png", UriKind.Relative),
                                    ToolTipTitle = TooTipTitle,
                                    ToolTipDescription = ToolTipDescription,
                                    ToolTipFooterTitle = HelpFooterTitle,
                                    ToolTipFooterImage = new Uri("Images/Icons/32/help.png", UriKind.Relative),
                                    KeyTip = "L",
                                };
                                _dataCollection[Str] = menuItemData;
                            }

                            return _dataCollection[Str];
                        }
                    }
                }

                public static ControlData ShowPlayerDetails
                {
                    get
                    {
                        lock (_lockObject)
                        {
                            string Str = "Open Player";

                            if (!_dataCollection.ContainsKey(Str))
                            {
                                string TooTipTitle = "Show the player's details (Ctrl+O)";
                                string ToolTipDescription = "Shows the selected player's details.";

                                ButtonData menuItemData = new ButtonData()
                                {
                                    Label = Str,
                                    SmallImage = new Uri("Images/Icons/16/user.png", UriKind.Relative),
                                    LargeImage = new Uri("Images/Icons/32/user.png", UriKind.Relative),
                                    ToolTipTitle = TooTipTitle,
                                    ToolTipDescription = ToolTipDescription,
                                    ToolTipFooterTitle = HelpFooterTitle,
                                    ToolTipFooterImage = new Uri("Images/Icons/32/help.png", UriKind.Relative),
                                    KeyTip = "O",
                                };
                                _dataCollection[Str] = menuItemData;
                            }

                            return _dataCollection[Str];
                        }
                    }
                }

            #endregion view group


            #region Manage Group

            public static ControlData ManageGroup
            {
                get
                {
                    lock (_lockObject)
                    {
                        string Str = "Manage";

                        if (!_dataCollection.ContainsKey(Str))
                        {
                            GroupData Data = new GroupData(Str)
                            {
                                SmallImage = new Uri("Images/Icons/16/users.png", UriKind.Relative),
                                LargeImage = new Uri("Images/Icons/32/users.png", UriKind.Relative),
                                KeyTip = "RU",
                            };
                            _dataCollection[Str] = Data;
                        }
                        return _dataCollection[Str];
                    }
                }
            }

            public static ControlData NewPlayer
            {
                get
                {
                    lock (_lockObject)
                    {
                        string Str = "Create Player";

                        if (!_dataCollection.ContainsKey(Str))
                        {
                            string TooTipTitle = "Create Player (Ctrl+N)";
                            string ToolTipDescription = "Creates a new player for the selected sport.";

                            ButtonData menuItemData = new ButtonData()
                            {
                                Label = Str,
                                SmallImage = new Uri("Images/Icons/16/new_page.png", UriKind.Relative),
                                ToolTipTitle = TooTipTitle,
                                ToolTipDescription = ToolTipDescription,
                                ToolTipFooterTitle = HelpFooterTitle,
                                ToolTipFooterImage = new Uri("Images/Icons/32/help.png", UriKind.Relative),
                                KeyTip = "N",
                            };
                            _dataCollection[Str] = menuItemData;
                        }
                        return _dataCollection[Str];
                    }
                }
            }

            public static ControlData EditPlayer
            {
                get
                {
                    lock (_lockObject)
                    {
                        string Str = "Edit Player";

                        if (!_dataCollection.ContainsKey(Str))
                        {
                            string TooTipTitle = "Edit Player (Ctrl+E)";
                            string ToolTipDescription = "Edit the selected player.";

                            MenuItemData menuItemData = new MenuItemData()
                            {
                                Label = Str,
                                SmallImage = new Uri("Images/Icons/16/edit.png", UriKind.Relative),
                                ToolTipTitle = TooTipTitle,
                                ToolTipDescription = ToolTipDescription,
                                ToolTipFooterTitle = HelpFooterTitle,
                                ToolTipFooterImage = new Uri("Images/Icons/32/help.png", UriKind.Relative),
                                KeyTip = "E",
                            };
                            _dataCollection[Str] = menuItemData;
                        }
                        return _dataCollection[Str];
                    }
                }
            }

            public static ControlData DeletePlayer
            {
                get
                {
                    lock (_lockObject)
                    {
                        string Str = "Delete Player";

                        if (!_dataCollection.ContainsKey(Str))
                        {
                            string TooTipTitle = "Delete Player (Ctrl+D)";
                            string ToolTipDescription = "Deletes the selected player.";

                            MenuItemData menuItemData = new MenuItemData()
                            {
                                Label = Str,
                                SmallImage = new Uri("Images/Icons/16/delete.png", UriKind.Relative),
                                ToolTipTitle = TooTipTitle,
                                ToolTipDescription = ToolTipDescription,
                                ToolTipFooterTitle = HelpFooterTitle,
                                ToolTipFooterImage = new Uri("Images/Icons/32/help.png", UriKind.Relative),
                                KeyTip = "D",
                            };
                            _dataCollection[Str] = menuItemData;
                        }

                        return _dataCollection[Str];
                    }
                }
            }

            public static ControlData SavePlayers
            {
                get
                {
                    lock (_lockObject)
                    {
                        string Str = "Save Player";

                        if (!_dataCollection.ContainsKey(Str))
                        {
                            string TooTipTitle = "Save Player changes(Ctrl+S)";
                            string ToolTipDescription = "Saves the changes for any players that has been made.";

                            ButtonData menuItemData = new ButtonData()
                            {
                                Label = Str,
                                SmallImage = new Uri("Images/Icons/16/save.png", UriKind.Relative),
                                LargeImage = new Uri("Images/Icons/32/save.png", UriKind.Relative),
                                ToolTipTitle = TooTipTitle,
                                ToolTipDescription = ToolTipDescription,
                                ToolTipFooterTitle = HelpFooterTitle,
                                ToolTipFooterImage = new Uri("Images/Icons/32/help.png", UriKind.Relative),
                                KeyTip = "S",
                            };
                            _dataCollection[Str] = menuItemData;
                        }

                        return _dataCollection[Str];
                    }
                }
            }
            #endregion Manage Group
        #endregion Players Tab

        #region Championships Tab
            #region view group

                public static ControlData ViewGroupC
                {
                    get
                    {
                        lock (_lockObject)
                        {
                            string Str = "View";

                            if (!_dataCollection.ContainsKey(Str))
                            {
                                GroupData Data = new GroupData(Str)
                                {
                                    SmallImage = new Uri("Images/Icons/16/games.png", UriKind.Relative),
                                    LargeImage = new Uri("Images/Icons/32/games.png", UriKind.Relative),
                                    KeyTip = "VI",
                                };
                                _dataCollection[Str] = Data;
                            }
                            return _dataCollection[Str];
                        }
                    }
                }

                public static ControlData ListChampionships
                {
                    get
                    {
                        lock (_lockObject)
                        {
                            string Str = "List Championships";

                            if (!_dataCollection.ContainsKey(Str))
                            {
                                string TooTipTitle = "Show the Championships (Ctrl+L)";
                                string ToolTipDescription = "Shows the Championships.";

                                ButtonData menuItemData = new ButtonData()
                                {
                                    Label = Str,
                                    SmallImage = new Uri("Images/Icons/16/notebook.png", UriKind.Relative),
                                    LargeImage = new Uri("Images/Icons/32/notebook.png", UriKind.Relative),
                                    ToolTipTitle = TooTipTitle,
                                    ToolTipDescription = ToolTipDescription,
                                    ToolTipFooterTitle = HelpFooterTitle,
                                    ToolTipFooterImage = new Uri("Images/Icons/32/help.png", UriKind.Relative),
                                    KeyTip = "L",
                                };
                                _dataCollection[Str] = menuItemData;
                            }

                            return _dataCollection[Str];
                        }
                    }
                }

                public static ControlData ShowChampionshipDetails
                {
                    get
                    {
                        lock (_lockObject)
                        {
                            string Str = "Open Championship";

                            if (!_dataCollection.ContainsKey(Str))
                            {
                                string TooTipTitle = "Show the Championship's details (Ctrl+O)";
                                string ToolTipDescription = "Shows the Championship's details.";

                                ButtonData menuItemData = new ButtonData()
                                {
                                    Label = Str,
                                    SmallImage = new Uri("Images/Icons/16/games.png", UriKind.Relative),
                                    LargeImage = new Uri("Images/Icons/32/games.png", UriKind.Relative),
                                    ToolTipTitle = TooTipTitle,
                                    ToolTipDescription = ToolTipDescription,
                                    ToolTipFooterTitle = HelpFooterTitle,
                                    ToolTipFooterImage = new Uri("Images/Icons/32/help.png", UriKind.Relative),
                                    KeyTip = "L",
                                };
                                _dataCollection[Str] = menuItemData;
                            }

                            return _dataCollection[Str];
                        }
                    }
                }
            #endregion view group

            #region Manage Group

            public static ControlData ManageGroupC
            {
                get
                {
                    lock (_lockObject)
                    {
                        string Str = "Manage";

                        if (!_dataCollection.ContainsKey(Str))
                        {
                            GroupData Data = new GroupData(Str)
                            {
                                SmallImage = new Uri("Images/Icons/16/games.png", UriKind.Relative),
                                LargeImage = new Uri("Images/Icons/32/games.png", UriKind.Relative),
                                KeyTip = "RU",
                            };
                            _dataCollection[Str] = Data;
                        }
                        return _dataCollection[Str];
                    }
                }
            }

            public static ControlData NewChampionship
            {
                get
                {
                    lock (_lockObject)
                    {
                        string Str = "Create Championship";

                        if (!_dataCollection.ContainsKey(Str))
                        {
                            string TooTipTitle = "Create Championship (Ctrl+N)";
                            string ToolTipDescription = "Creates a new Championship for the selected sport.";

                            ButtonData menuItemData = new ButtonData()
                            {
                                Label = Str,
                                SmallImage = new Uri("Images/Icons/16/new_page.png", UriKind.Relative),
                                ToolTipTitle = TooTipTitle,
                                ToolTipDescription = ToolTipDescription,
                                ToolTipFooterTitle = HelpFooterTitle,
                                ToolTipFooterImage = new Uri("Images/Icons/32/help.png", UriKind.Relative),
                                KeyTip = "N",
                            };
                            _dataCollection[Str] = menuItemData;
                        }
                        return _dataCollection[Str];
                    }
                }
            }

            public static ControlData EditChampionship
            {
                get
                {
                    lock (_lockObject)
                    {
                        string Str = "Edit Championship";

                        if (!_dataCollection.ContainsKey(Str))
                        {
                            string TooTipTitle = "Edit Championship (Ctrl+E)";
                            string ToolTipDescription = "Edit the selected Championship.";

                            MenuItemData menuItemData = new MenuItemData()
                            {
                                Label = Str,
                                SmallImage = new Uri("Images/Icons/16/edit.png", UriKind.Relative),
                                ToolTipTitle = TooTipTitle,
                                ToolTipDescription = ToolTipDescription,
                                ToolTipFooterTitle = HelpFooterTitle,
                                ToolTipFooterImage = new Uri("Images/Icons/32/help.png", UriKind.Relative),
                                KeyTip = "E",
                            };
                            _dataCollection[Str] = menuItemData;
                        }
                        return _dataCollection[Str];
                    }
                }
            }

            public static ControlData DeleteChampionship
            {
                get
                {
                    lock (_lockObject)
                    {
                        string Str = "Delete Championship";

                        if (!_dataCollection.ContainsKey(Str))
                        {
                            string TooTipTitle = "Delete Championship (Ctrl+D)";
                            string ToolTipDescription = "Deletes the selected Championship.";

                            MenuItemData menuItemData = new MenuItemData()
                            {
                                Label = Str,
                                SmallImage = new Uri("Images/Icons/16/delete.png", UriKind.Relative),
                                ToolTipTitle = TooTipTitle,
                                ToolTipDescription = ToolTipDescription,
                                ToolTipFooterTitle = HelpFooterTitle,
                                ToolTipFooterImage = new Uri("Images/Icons/32/help.png", UriKind.Relative),
                                KeyTip = "D",
                            };
                            _dataCollection[Str] = menuItemData;
                        }

                        return _dataCollection[Str];
                    }
                }
            }

            public static ControlData SaveChampionships
            {
                get
                {
                    lock (_lockObject)
                    {
                        string Str = "Save Championship";

                        if (!_dataCollection.ContainsKey(Str))
                        {
                            string TooTipTitle = "Save Championship changes(Ctrl+S)";
                            string ToolTipDescription = "Saves the changes for any Championships that has been made.";

                            ButtonData menuItemData = new ButtonData()
                            {
                                Label = Str,
                                SmallImage = new Uri("Images/Icons/16/save.png", UriKind.Relative),
                                LargeImage = new Uri("Images/Icons/32/save.png", UriKind.Relative),
                                ToolTipTitle = TooTipTitle,
                                ToolTipDescription = ToolTipDescription,
                                ToolTipFooterTitle = HelpFooterTitle,
                                ToolTipFooterImage = new Uri("Images/Icons/32/help.png", UriKind.Relative),
                                KeyTip = "S",
                            };
                            _dataCollection[Str] = menuItemData;
                        }

                        return _dataCollection[Str];
                    }
                }
            }

            public static ControlData CloseChampionships
            {
                get
                {
                    lock (_lockObject)
                    {
                        string Str = "Close Championship";

                        if (!_dataCollection.ContainsKey(Str))
                        {
                            string TooTipTitle = "Close Championship changes(Ctrl+C)";
                            string ToolTipDescription = "Closes the championship so no further changes can be made.";

                            ButtonData menuItemData = new ButtonData()
                            {
                                Label = Str,
                                SmallImage = new Uri("Images/Icons/16/lock.png", UriKind.Relative),
                                LargeImage = new Uri("Images/Icons/32/lock.png", UriKind.Relative),
                                ToolTipTitle = TooTipTitle,
                                ToolTipDescription = ToolTipDescription,
                                ToolTipFooterTitle = HelpFooterTitle,
                                ToolTipFooterImage = new Uri("Images/Icons/32/help.png", UriKind.Relative),
                                KeyTip = "S",
                            };
                            _dataCollection[Str] = menuItemData;
                        }

                        return _dataCollection[Str];
                    }
                }
            }

            #endregion Manage Group

        #endregion Championships Tab

        #region Teams Tab
            #region view group
            public static ControlData ViewGroupT
            {
                get
                {
                    lock (_lockObject)
                    {
                        string Str = "View";

                        if (!_dataCollection.ContainsKey(Str))
                        {
                            GroupData Data = new GroupData(Str)
                            {
                                SmallImage = new Uri("Images/Icons/16/users.png", UriKind.Relative),
                                LargeImage = new Uri("Images/Icons/32/users.png", UriKind.Relative),
                                KeyTip = "RU",
                            };
                            _dataCollection[Str] = Data;
                        }
                        return _dataCollection[Str];
                    }
                }
            }

            public static ControlData ListTeams
            {
                get
                {
                    lock (_lockObject)
                    {
                        string Str = "List Teams";

                        if (!_dataCollection.ContainsKey(Str))
                        {
                            string TooTipTitle = "Show the teams (Ctrl+L)";
                            string ToolTipDescription = "Shows the teams of the selected sport.";

                            ButtonData menuItemData = new ButtonData()
                            {
                                Label = Str,
                                SmallImage = new Uri("Images/Icons/16/notebook.png", UriKind.Relative),
                                LargeImage = new Uri("Images/Icons/32/notebook.png", UriKind.Relative),
                                ToolTipTitle = TooTipTitle,
                                ToolTipDescription = ToolTipDescription,
                                ToolTipFooterTitle = HelpFooterTitle,
                                ToolTipFooterImage = new Uri("Images/Icons/32/help.png", UriKind.Relative),
                                KeyTip = "L",
                            };
                            _dataCollection[Str] = menuItemData;
                        }

                        return _dataCollection[Str];
                    }
                }
            }

            public static ControlData ShowTeamDetails
            {
                get
                {
                    lock (_lockObject)
                    {
                        string Str = "Open Team";

                        if (!_dataCollection.ContainsKey(Str))
                        {
                            string TooTipTitle = "Show the team's details (Ctrl+O)";
                            string ToolTipDescription = "Shows the selected team's details.";

                            ButtonData menuItemData = new ButtonData()
                            {
                                Label = Str,
                                SmallImage = new Uri("Images/Icons/16/puzzle.png", UriKind.Relative),
                                LargeImage = new Uri("Images/Icons/32/puzzle.png", UriKind.Relative),
                                ToolTipTitle = TooTipTitle,
                                ToolTipDescription = ToolTipDescription,
                                ToolTipFooterTitle = HelpFooterTitle,
                                ToolTipFooterImage = new Uri("Images/Icons/32/help.png", UriKind.Relative),
                                KeyTip = "O",
                            };
                            _dataCollection[Str] = menuItemData;
                        }

                        return _dataCollection[Str];
                    }
                }
            }

            #endregion view group


            #region Manage Group

            public static ControlData ManageGroupT
            {
                get
                {
                    lock (_lockObject)
                    {
                        string Str = "Manage";

                        if (!_dataCollection.ContainsKey(Str))
                        {
                            GroupData Data = new GroupData(Str)
                            {
                                SmallImage = new Uri("Images/Icons/16/puzzle.png", UriKind.Relative),
                                LargeImage = new Uri("Images/Icons/32/puzzle.png", UriKind.Relative),
                                KeyTip = "RU",
                            };
                            _dataCollection[Str] = Data;
                        }
                        return _dataCollection[Str];
                    }
                }
            }

            public static ControlData NewTeam
            {
                get
                {
                    lock (_lockObject)
                    {
                        string Str = "Create Team";

                        if (!_dataCollection.ContainsKey(Str))
                        {
                            string TooTipTitle = "Create Team (Ctrl+N)";
                            string ToolTipDescription = "Creates a new team for the selected sport.";

                            ButtonData menuItemData = new ButtonData()
                            {
                                Label = Str,
                                SmallImage = new Uri("Images/Icons/16/new_page.png", UriKind.Relative),
                                ToolTipTitle = TooTipTitle,
                                ToolTipDescription = ToolTipDescription,
                                ToolTipFooterTitle = HelpFooterTitle,
                                ToolTipFooterImage = new Uri("Images/Icons/32/help.png", UriKind.Relative),
                                KeyTip = "N",
                            };
                            _dataCollection[Str] = menuItemData;
                        }
                        return _dataCollection[Str];
                    }
                }
            }

            public static ControlData EditTeam
            {
                get
                {
                    lock (_lockObject)
                    {
                        string Str = "Edit Team";

                        if (!_dataCollection.ContainsKey(Str))
                        {
                            string TooTipTitle = "Edit Team (Ctrl+E)";
                            string ToolTipDescription = "Edit the selected team.";

                            MenuItemData menuItemData = new MenuItemData()
                            {
                                Label = Str,
                                SmallImage = new Uri("Images/Icons/16/edit.png", UriKind.Relative),
                                ToolTipTitle = TooTipTitle,
                                ToolTipDescription = ToolTipDescription,
                                ToolTipFooterTitle = HelpFooterTitle,
                                ToolTipFooterImage = new Uri("Images/Icons/32/help.png", UriKind.Relative),
                                KeyTip = "E",
                            };
                            _dataCollection[Str] = menuItemData;
                        }
                        return _dataCollection[Str];
                    }
                }
            }

            public static ControlData DeleteTeam
            {
                get
                {
                    lock (_lockObject)
                    {
                        string Str = "Delete Team";

                        if (!_dataCollection.ContainsKey(Str))
                        {
                            string TooTipTitle = "Delete Team (Ctrl+D)";
                            string ToolTipDescription = "Deletes the selected teams.";

                            MenuItemData menuItemData = new MenuItemData()
                            {
                                Label = Str,
                                SmallImage = new Uri("Images/Icons/16/delete.png", UriKind.Relative),
                                ToolTipTitle = TooTipTitle,
                                ToolTipDescription = ToolTipDescription,
                                ToolTipFooterTitle = HelpFooterTitle,
                                ToolTipFooterImage = new Uri("Images/Icons/32/help.png", UriKind.Relative),
                                KeyTip = "D",
                            };
                            _dataCollection[Str] = menuItemData;
                        }

                        return _dataCollection[Str];
                    }
                }
            }

            public static ControlData SaveTeams
            {
                get
                {
                    lock (_lockObject)
                    {
                        string Str = "Save Team";

                        if (!_dataCollection.ContainsKey(Str))
                        {
                            string TooTipTitle = "Save Team changes(Ctrl+S)";
                            string ToolTipDescription = "Saves the changes for any teams that has been made.";

                            ButtonData menuItemData = new ButtonData()
                            {
                                Label = Str,
                                SmallImage = new Uri("Images/Icons/16/save.png", UriKind.Relative),
                                LargeImage = new Uri("Images/Icons/32/save.png", UriKind.Relative),
                                ToolTipTitle = TooTipTitle,
                                ToolTipDescription = ToolTipDescription,
                                ToolTipFooterTitle = HelpFooterTitle,
                                ToolTipFooterImage = new Uri("Images/Icons/32/help.png", UriKind.Relative),
                                KeyTip = "S",
                            };
                            _dataCollection[Str] = menuItemData;
                        }

                        return _dataCollection[Str];
                    }
                }
            }
            #endregion Manage Group
            #endregion Teams Tab
    }
}
            